Integration of Analytical Quality Assurance Methods into Agile Software Construction Practice Research Proposal for a Family of Controlled Experiments
نویسندگان
چکیده
Defects in early software development products, e.g., design specifications, can have a major impact on product quality. Analytical quality assurance methods, like Software Inspections and Testing are common practices for detecting non-conformities in software products. Often, these quality assurance (QA) activities are not seen as integral part of software construction process but rather as time-and-budget-consuming add-on activities, which may be cut short if the remaining budget becomes tight. Agile software development practices, such as pair programming, focus on software construction, with some basic elements of quality assurance, e.g., continuous reviews. Several empirical studies reported on defect reduction in software products and on productivity improvements of pairs compared to solo programming. To bundle the benefits from agile development practice and structured quality assurance activities, we propose a pair programming (PP) approach that integrates best-practice inspection and usage-based testing (see ISERN 2004 poster session). This approach is expected to bring several benefits: (a) increased product quality, (b) increased business value contribution of PP by applying prioritized use cases, (c) improved understanding of customer requirements, and (d) extending application opportunities of agile methods to more critical software systems, which require auditable QA activities. Based on this integrated PP model we propose to conduct a family of experiments to investigate defect detection capability and learning effects. Additionally, the experiment setup will address the theoretical background (Empirical Software Engineering theory building) on the necessary number of participants to achieve empirical evidence, improve reporting theory of empirical studies and improve hypothesis building processes.
منابع مشابه
CMMI Process Area Compliance with Formal Specification Based Software Development
The development of reliable systems is still a major challenge for software industry. Construction of such a system requires both process and product based quality assurance. Many process improvement models have been suggested in industry and found appropriate for achieving high quality products. Examples of such process improvement models are CMM/CMMI, Agile, SPICE, ISO 9000 family etc. Howeve...
متن کاملHow does agility ensure quality?
Software quality is one of our most important software concerns. Agile methods may produce software faster but we also need to know how they meet our quality requirements. In this paper we compare the waterfall model with agile processes to show how agile methods achieve software quality. We also show how agile methods attain quality under time pressure and in an unstable requirements environme...
متن کاملThe Agile Quality Culture - A survey on agile culture and software quality
Despite the importance of the agile methods and the acknowledgement that they do contribute to the software quality and client satisfaction, little is known about what factors, habits or tools usage have high impact on the product quality. It has been observed that agile practitioners have a different posture towards the development process they use. This paper goal is to report an analysis of ...
متن کاملTowards Understanding Quality Assurance in Agile Software Development
Agile software development stresses individuals and interaction, customer collaboration, short development cycles and frequent deliveries of valuable software. From the testing and quality assurance viewpoint these principles are challenging, and agile methods seem to lack aspects that traditionally are considered important and fundamental to successful quality assurance. In this paper we ident...
متن کاملAgile Software Methods: State-of-the-Art
This chapter is aimed at comprehensively analyzing and defining agile methodologies of software development from a software quality assurance perspective. A unique way of analyzing agile methodologies to reveal the similarities that the authors of the methods never tell you is introduced. The chapter starts by defining agile methodologies from three perspectives: a theoretical definition, a fun...
متن کامل